package cu.tedu._04mybatis.mapper;

import cu.tedu._04mybatis.pojo.entity.Comment;
import cu.tedu._04mybatis.pojo.vo.CommentVO1;
import cu.tedu._04mybatis.pojo.vo.CommentVO2;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface CommentMapper {
    //@Insert("INSERT INTO comment (id,content,created,user_id,weibo_id) VALUES (#{id},#{content},#{created},#{userId},#{weiboId})")
    int insertComment(Comment comment);

    //@Delete("DELETE FROM comment WHERE id=#{id}")
    int deleteById(int id);

    //@Update("UPDATE comment SET content=#{content},created=#{created} WHERE id=#{id}")
    int updateById(Comment comment);

    //@Select("SELECT content,user_id userId,weibo_id weiboId FROM comment WHERE id=#{id}")
    CommentVO1 selectCommentById1(int id);

    //@Select("SELECT content,user_id userId FROM comment WHERE weibo_id=#{weibo_id}")
    List<CommentVO2> selectCommentById2(int id);


    /**
     * 6.动态删除方式1：以数组方式
     * 动态删除评论表中的相关评论信息.
     */
    int deleteByIds1(Integer[] ids);

    /**
     * 7.动态删除:List集合方式
     */
    int deleteByIds2(List<Integer> ids);

    /**
     * 8.动态修改:根据评论id动态修改评论的信息
     */
    int dynamicUpdate(Comment comment);

    /**
     * 9.统计评论的数量
     * SELECT COUNT(*) FROM comment
     */
    int selectCount();

}
